package com.android.smsmb.mui.builder;

public class BankDataModel {

    private String cardNumber;                   // все 16 цифр номера карты, т.к. для укрексимбанка нужны первые и последние 4 цифры
    private int paySum;                          //сумма перевода на карту или телефон
    private String transferNumber;               //номер карты или телефона получателя
    private String accessCode;                   //код доступа, необходим для pumb, aval, kredo, marfin, profin
    private TransferCurrency transferCurrency;   //валюта перевода, нужно указывать для privat и unicredit
    private long accountNumber;                  //номер счета aval
    private long transactionNumber;              //номер транзации, нужен для aval
    private String cardPseudonym;                //псевдоним карты, нужен для eximbank


    public BankDataModel(String cardNumber, int paySum, String transferNumber, String accessCode, TransferCurrency transferCurrency, long accountNumber, long transactionNumber, String cardPseudonym) {
        this.cardNumber = cardNumber;
        this.paySum = paySum;
        this.transferNumber = transferNumber;
        this.accessCode = accessCode;
        this.transferCurrency = transferCurrency;
        this.accountNumber = accountNumber;
        this.transactionNumber = transactionNumber;
        this.cardPseudonym = cardPseudonym;
    }

    /**
     * Метод возвращает номер карты (16 цифр)
     * @return номер карты
     */
    public String getCardNumber() {
        return cardNumber;
    }

    /**
     * Метод возвращает псевдоним карты
     * @return псевдоним карты
     */
    public String getCardPseudonym() {
        return cardPseudonym;
    }

    /**
     * Метод возвращает номер транзакции
     * @return номер транзакции
     */

    public long getTransactionNumber() {
        return transactionNumber;
    }

    /**
     * Метод возвращает количество передаваемых денег
     * @return количество передаваемых денег
     */
    public int getPaySum() {
        return paySum;
    }

    /**
     * Метод возвращает код доступа
     * @return код доступа
     */
    public String getAccessCode() {
        return accessCode;
    }

    /**
     * Метод возвращает номер получателя (номер карты или телефон)
     * @return номер получателя
     */
    public String getTransferNumber() {
        return transferNumber;
    }

    /**
     * Метод возвращает тип валюты, которая будет использоваться при переводе средств на карту
     * @return возвращает тип валюты
     */
    public TransferCurrency getTransferCurrency() {
        return transferCurrency;
    }

    /**
     * Метод возвращает номер счета
     * @return номер счета
     */
    public long getAccountNumber() {
        return accountNumber;
    }


}

/**
 * Валюта перевода
 */
enum TransferCurrency {
    UAH, USD, EUR, RUR
}
